import java.util.HashSet;
import java.util.Set;

/**
 * 202. 快乐数
 */
class Solution {
    public boolean isHappy(int n) {
        Set<Integer> set = new HashSet<>();
        while(n != 1) {
            n = bitSum(n);
            if(set.contains(n)) return false;
            set.add(n);
        }
        return true;
    }

    // 得到n的每一位数的平方和
    public int bitSum(int n) {
        int ret = 0;
        while(n > 0) {
            int tmp = n % 10;
            ret += tmp * tmp;
            n /= 10;
        }
        return ret;
    }
}